草庐IT

Java TLS-PSK 套接字

全部标签

sockets - 我需要关闭套接字吗?

在使用Winsock通过套接字发送数据后,您应该像这样关闭连接:closesocket(ConnectSocket);WSACleanup();我正在编写一个通过套接字发送数据的API。如果我之后必须关闭套接字,我需要向API添加一个函数,以便用户可以在完成获取数据时说出。如果为了方便,我不关闭套接字会不会有问题? 最佳答案 不管怎样,如果您不关闭套接字,您的程序就会泄漏文件描述符。程序通常只能打开有限数量的文件描述符,所以如果这种情况经常发生,它可能会变成一个问题。如果套接字绑定(bind)到一个地址,则在套接字关闭之前,其他套接

java - 套接字连接超时 : where is the specification?

我的工作环境是我的局域网。下面的代码示例是用Java语言编写的,但我的问题是关于TCP,而不是编程。我遇到了以下连接超时:>2mswhenconnectionestablished1005毫秒,当主机处于Activity状态但未监听指定的套接字端口时主机宕机时21000毫秒此值来自对我的网络的观察,但我认为它存在一个RFC。这里有一些关于超时的信息:RFC1122RFC793Nagle's_algorithm和TCP_NO_DELAY你能给我更多的指点吗?@Overridepublicvoidrun(){for(intport=_portFirst;port

c - 在 C 中通过具有正确填充和字节序的套接字发送结构

我定义了几个结构来通过不同的操作系统(tcp网络)发送。定义的结构是:structStruct1{uint32_tnum;charstr[10];charstr2[10];}structStruct2{uint16_tnum;charstr[10];}typedefStruct1a;typedefStruct2b;数据存储在文本文件中。数据格式如下:123馅饼地壳Struct1a被存储为3个独立的参数。但是,struct2是两个单独的参数,第2行和第3行都存储在charstr[]中。问题是当我通过多个网络写入服务器时,数据没有被正确接收。有许多空格分隔结构中的不同参数。写入服务器时如何

连接数据库报com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

JDBC加载驱动,连接SQLServer2012报java.ext.dirs:C:\ProgramFiles\Java\jdk1.8.0_331\jre\lib\ext;C:\Windows\Sun\Java\lib\extcom.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接。错误:“TheserverselectedprotocolversionTLS10isnotacceptedbyclientpreferences[TLS12]试了各种方法,如数据库连接上加各种参数:

基于 C++ STL 的二进制序列化数据发送,使用套接字进行网络传输,无需使用库

我需要通过网络将一些复杂的对象发送给对等点。我已经为需要序列化的对象中的每个类成员编写代码,使用ostream和operator我有一个Socket类,它将std::string对象转换为C风格的字符串,然后像这样通过套接字发送它们:intSocket::send(conststd::stringgoodies)const{status=::send(socket,goodies.c_str(),goodies.size(),0);returnstatus;}我在接收器中使用的相同Socket类在将传入消息传递给反序列化应用程序之前使用recv()将传入消息放入std::string中

C#:如何在 Socket.BeginReceive 回调之前终止套接字?

我有一个服务器可以接收来自客户端的连接请求。此服务器使用异步Socket.BeginReceive和Socket.EndReceive方法。该代码与找到的代码非常相似here.在我的例子中,在调用Socket.BeginReceive之后,我需要一个超时时间,这样如果客户端挂起连接但在一段固定的时间内根本不传输任何数据,我需要终止连接。我该如何终止在这种情况下连接?编写代码的最佳方式是什么计时器? 最佳答案 只需调用套接字的Close()方法即可。之后回调方法将运行得非常快,当您调用EndReceive()方法时,您将得到一个Obj

java - java中的套接字和TCP

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:howtoimplementTCPserverandTCPclientinjavatotransferfiles我编写的应用程序将通过套接字将文件发送到服务器。它对所有文件从客户端到服务器都是正确的非常重要,没有错误,丢失数据和其他类似的东西。为此,我需要使用我认为的TCP协议(protocol),但我不知道该怎么做。Java中的套接字默认使用TCP。如果不是,我如何通过TCP发送数据?感谢您的帮助和提示。

c# - 通常只允许每个套接字地址(协议(protocol)/网络地址/端口)使用一次?

我一直在谷歌上寻找一个严肃的解决方案,但我只得到“注册表解决方案”之类的东西,我认为它们甚至与我的问题无关。由于某种原因,我得到了这个错误,而我只启动了一次TcpListner,如果它失败了,我会停止服务器。这是我的代码:classProgram{privatestaticstringServerName="";privatestaticstringUserName="";privatestaticstringPassword="";privatestaticstringdbConnectionSring="";privatestaticX509CertificateadminCert

python - 使用 TCP 套接字发送/接收数据包

最近,我设法在我的PC和我的RaspberryPi上创建了套接字,以实现这两个设备之间的通信。目前,客户端能够自动向服务器发送消息。我想知道,是否可以修改脚本以发送tcp数据包而不是纯文本消息,因为我非常希望将来使用我的PC来控制树莓派,而无需ssh/etc。我看过一些示例,但由于我在编写自己的脚本/代码方面没有太多经验,所以我不太确定如何去做。如果有人可以通过解释和一些示例(如果可能的话)指导我朝着正确的方向前进,我将不胜感激。无论如何,这是我目前正在运行的服务器/客户端脚本:客户:importsocketimportsysimportstructimporttime#mainfun

Python 套接字点对点

我正尝试在Python2.7中创建一个简单的点对点网络。问题是,我似乎无法在两台同时充当服务器和客户端的机器之间建立连接。当一个是服务器而另一个是客户端时,我可以让它工作,但当它们都是时,我就不能工作。我需要创建2个套接字吗?我还使用TCP进行连接。更新:importsocket,sys#Importsocketmodules=socket.socket()#Createasocketobjecthost=socket.gethostname()#Getlocalmachinenameport=12345#Reserveaportforyourservice.s.bind((host,